POČÍTAČ A ARDUINO UNO 12
Vágner Vlastimil
Rozhodl jsem se na zkoušku zprovoznit staré rozebrané autíčko
s vykuchanou elektronikou a ovládání řešit pomocí tabletu s bluetooth
JDY-33 (stejné ovládání jako HC-06). Zakoupený společně s Arduino Uno a
modulem pro ovládání motorků L9110S v [1] který na použité el.motorky proudově
postačuje. Uvedený modul L9110S v jednou případě ovládám z počítače
redukcí USB/COM připojenou do desky Arduino Uno programem pro PC a v druhém
případě při použití bluetooth kdy je ovládán tabletem s programem sériového
terminalu. Zde je popis odzkošení uvedených modulů před vlastní stavbou do
modelu autíčka.
POPIS MODULŮ
Použité moduly jsou tovární výroby,
přípravek pro ovládání el.motorků L9110S umožňuje volbu směru a otáček pomocí
řízení PWM. PWM řídí deska Arduino Uno otáčky motoru “A” řídí signály na PINECH
“3 – 5”, otáčky motoru “B” řídí signály na PINECH “6 – 9” desky Arduino Uno. Uvedené
PINY jsou shodné pro oba programy na ovládání modulu L9110S, PINY “10 – 11”
jsou určeny pro komunikaci s bluetooth modulem JDY-33 (HC-06) a Arduino Uno,
při ovládání modulu L9110S z počítače jsou nepoužity. Napájení modulu L9110S
společně s bluetooth modulem je ze stabilizátoru 7805 který je osazený na
univerzální vrtané desce stabilizátor je zapojený podle doporučení vstup 7V -
9V a výstup 5V je blokovaný keramickým
kondenzátorem 100Nf. Schema propojení je na Obr.č.01 a Obr.č.02
STRUČNÝ POPIS MODULU
BLUETOOTH JDY-33
Uvedený modul má shodné příkazy jako modul
HC-06 změna hodnoty příkazu je pomocí “AT” kódů, pro otestování “AT” příkazů
jsem použil převodník USB/COM RS232 s připojeným převodníkem úrovní signaů “RS232”
na “TTL” výstup TXD z převodníku úrovní je na vstup RXD bluetooth modulu
připojen přes odporový dělič zapojení je na Obr.č.03 je možné použít I
převodník USB/TTL CH340 a opět použít na výstupní signal z převodníku CH340 “TXD”
odporový dělič. při napájení modulu napětím +5V je kladné napájecí napětí
připojeno na vstup označený “VCC”. Záporné napájecí napětí je
připojeno na vstup označený GND, při
napájení napětím +3.3V je kladné napájecí napětí připojeno na vstup označený “PWRC”. POZOR POKUD JE POUŽITO NAPÁJECÍ NAPĚTÍ “5V” NESMÍ BÝT SOUČASNĚ POUŽITO
I NAPÁJECÍ NAPĚTÍ “3.3V” DOJDE KE ZNIČENÍ MODULU. Vstupní “RXD” I výstupní”TXD”
signal je v úrovni 3.3V z toho důvodu je nutné na vstup “RXD” VŽDY POUŽÍT DĚLIČ Z REZISTORŮ NEBO MODUL PRO OBOUSMĚRNOU
KOMUNIKACI 5 – 3.3V a ze 3.3V – 5V.
Při otestování a změny parametrů při používání “AT” kódů nesmí být bluetooth
modul nikdy spárovaný s dalším bluetooth modulem, na modulu musí blikat led
dioda která při spárování s druhým bluetooth modulem trvalým svitem signapizuje
že bluetooth modul je spárovaný s druhym bluetooth modulem.
POPIS PROGRAMŮ
Programy
pro Arduino je uložený v adrsáři ARDUINO a jsou dva, jeden má název
PC_L9110.ino je určený pro ovládání modulu L9110S Arduinem kdy je pro
komunikaci (zadávání hodnot) využit počítač s programem TERMINAL.EXE. Druhý
program ma název BLUETOOTH_L9110.ino tento je určen pro ovládání modulu L9110S
s bluetooth modulem kdy se hodnoty zadávají v terminalu v tabletu. Program pro
počítač je uložený v adresáři POČÍTAČ a má název Arduino.exe zde je take soubor
v PDF s popisem k tomuto programu.
POPIS ZADÁVÁNÍ
HODNOT PRO OBA PROGRAMY
V
obou programech se zadává shodný počet hodnot celkem zadáváme osm hodnot, hodnoty
určují který motorek “označený “B” a
označený “A” a kam se bude točit a
jaké bude mít otáčky nastavené PWM regulací pro motorek označený “B” jsou řídící piny ounačené “B-1A, B-1B”. Pro motorek označený “A” jsou řídící piny označené “A-1B, A-1A. Popis signalů od Arduina je pro následující příklad : 0,1,0,1,0,60,0,40 PRVNÍ DVĚ HODNOTY 0,1 ZNAMENAJÍ SMĚR
OTÁČENÍ MOTORKU OZNAČENÉHO NA MODULU “B”
piny “B-1A, B-1B”,
DRUHÉ DVĚ HODNOTY 0,1
ZNAMENAJÍ SMĚR OTÁČENÍ MOTORKU OZNAČENÉHO NA MODULU “A”
piny “A-1B, A-1A”. TŘETÍ DVĚ HODNOTY ZNAMENAJÍ
OTÁČKY(PWM), MOTORKU “B” piny “B-1A, B-1B” 0,60, HODNOTA PWM SE ZADÁVÁ TAM KDE JE V PRVNÍM DVOJČÍSLÍ
HODNOTA “1”
ZDE JE HODNOTA 60
VE TŘETÍM DVOJČÍSLÍ NA DRUHÉM MÍSTĚ STEJNĚ TAK JAKO “1” NA DRUHÉM MÍSTĚ V PRVNÍM
DVOJČÍSLÍ. ČTVRTÉ DVĚ HODNOTY ZNAMENAJÍ
OTÁČKY (PWM) MOTORU “A” piny “A-1B, A-1A” 0,40, HODNOTA PWM SE ZADÁVÁ
TAM KDE JE V DRUHÉM DVOJČÍSLÍ HODNOTA “1” ZDE V ČTVRTÉM DVOJČÍSLÍ TO JE HODNOTA “40”. Hodnoty je možné zadávat jak potřebujeme pouze musí být zadány
tak jak je popsáno výše “tam kde je v prvních čtyřech hodnotách zadaná hodnota
“1” musí být na stejné pozici zadané hodnoty pro PWM na stejných pozicích v
dalších dvou dvojicích “0,1,0,1,0,60,0,40”, “1,0,1,0,100,0,250,0” “0,0,1,0,0,0,70,0”, “1,0,0,0,100,0,0,0”.
ZADÁVÁNÍ HODNOT Z
POČÍTAČE
Na počítači spustíme terminál
ARDUINO.EXE zadáme parametry dle popisu v souboru PDF k tomuto programu, o kně
s nadpisem “Zápis text” zadáme hodnoty podle popisu výše tak že zadáme všech
osm hodnot v řadě za sebou a stiskneme tlačítko ODESLAT ZÁPIS TEXT (klávesu
ENTER NEPOUŽÍVÁME) a v okně s nadpisem čtení text se zobrazí data odeslaná Arduinem
a el.motorky se budou otáčet podle zadaných hodnot. V případě že použijeme jiný
terminál hodnoty zadáváme shodně. Změny hodnot zadáváme tak že si označíme
hodnotu kterou chceme měnit levým tlačítkem myši (barevně se změni) a hodnotu
přepíšeme.
ZADÁVÁNÍ HODNOT Z
TERMINÁLU V TABLETU
Po spárování tabletu s bluetooth JDY
spustíme terminál v nastavení vypneme volbu CR+LF a klikneme na řádek pro
zadávání hodnot zadáme hodnoty a odešleme zpětně se nám v okně terminálu
zobrazí načtená data. V případě že budeme el.motorky ovládat nějaký model zadáme
si po rozkliknutí tklačítka M1 – M10 připravené hodnoty pro ovládání el.motorků
a tyto si uložíme tak že již pouze vždy klikneme na požadované otáčení
el.motorků ulžené v M1 – M10. Osobně mám v M10 oložen příkaz stop.
POZOR V OBOU PROGRAMECH NEŽ PROVEDEME ZMĚNU SMĚRU OTÁČENÍ
VŽDY PROVEDEME PŘÍKAZ “STOP 0,0,0,0,0,0,0,0 ” JINAK DOJDE VLIVEM ODBĚRU PROUDU
EL.MOTORKŮ PŘI ZMĚNĚ SMĚRU KE ZNIČENÍ MODULU L9110S.
Pokud nebudeme vyžadovat měnit otáčky el.motorků stačí program upravit
tak že po úpravě budeme zadávat pouze čtyři hodnoty. Uprava programu je čistě
individuální věc.
Test programu terminálu s PC
Připojené led diody pro kontrolu sepnutí správného výstupu z arduino
Příprava na test programu pro použití s bluetooth
Osazený modul bluetooth JDY-33 v kontaktním poli test programu
bluetooth_L9110.ino
Signalizace aktivních výstupů PWM arduino
Použitý modul JDY-33
Použitý převodník USB/COM a převodník RS232/TTL pro test AT kodů
Sepnuté výstupy ovládání bluetoth JDY-33 spárování s tabletem trvalý
svit LED
Použirý terminál pro Android
Záznam dat na lcd displeji tabletu
Vypnutí znaků CR+LF v terminálu
tabletu
Zadání hodnot v terminálu tabletu
Zadání hodnot do M1 pro trvalé používání
Zadané hodnoty v terminálu pro PC
Zadání hodnot v terminálu pro PC
Použité prameny:
[1] laskarduino
Dokumentace k bluetooth JDY-33
Dokumentace k L9110S
Dokumentace k Arduino Uno
Bližší informace: